import { createVNode } from 'vue'

import {
  MenuUnfoldOutlined,
  MenuFoldOutlined,
  DownloadOutlined,
  EyeInvisibleOutlined,
  EyeOutlined,
  LeftOutlined,
  RightOutlined,
  CheckCircleOutlined,
  CodeOutlined,
  CopyOutlined,
  CloseOutlined,
  CaretUpFilled,
  CaretDownFilled,
  DeleteOutlined,
  UserOutlined,
  LockOutlined,
  LineChartOutlined,
  SafetyOutlined,
  GoldOutlined,
  BgColorsOutlined,
  FileUnknownOutlined,
  FileDoneOutlined,
  FolderOpenOutlined,
  FundProjectionScreenOutlined,
  PhoneOutlined,
  MailOutlined,
  ExclamationCircleOutlined,
  CloudUploadOutlined,
  ExportOutlined,
  DownOutlined,
  UpOutlined,
  UnorderedListOutlined,
  FormOutlined,
  HomeOutlined,
  VerticalAlignTopOutlined,
  PlusCircleOutlined,
} from '@ant-design/icons-vue'

const Icons = {
  MenuUnfoldOutlined,
  MenuFoldOutlined,
  DownloadOutlined,
  EyeInvisibleOutlined,
  EyeOutlined,
  LeftOutlined,
  RightOutlined,
  CheckCircleOutlined,
  CodeOutlined,
  CopyOutlined,
  CloseOutlined,
  CaretUpFilled,
  CaretDownFilled,
  DeleteOutlined,
  UserOutlined,
  LockOutlined,
  LineChartOutlined,
  SafetyOutlined,
  GoldOutlined,
  BgColorsOutlined,
  FileUnknownOutlined,
  FileDoneOutlined,
  FolderOpenOutlined,
  FundProjectionScreenOutlined,
  PhoneOutlined,
  MailOutlined,
  ExclamationCircleOutlined,
  CloudUploadOutlined,
  ExportOutlined,
  DownOutlined,
  UpOutlined,
  UnorderedListOutlined,
  FormOutlined,
  HomeOutlined,
  VerticalAlignTopOutlined,
  PlusCircleOutlined,
}

export const Icon = ({ icon }) => {
  return createVNode(Icons[icon])
}
